#ifndef INCLUDE_H
#define INCLUDE_H

#ifdef WIN32
   #define WIN32_LEAN_AND_MEAN
   #include <windows.h>
#endif

//    System Includes   //
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
#include <map>
#include <vector>
#include <cmath>
#include <ctime>

//    OpenGL Includes   //
#include "shared/GLee.h"
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/gl.h>
#include <GL/glut.h>
#endif

//    Imported Libraries   //
#include "shared/xmlParser.h"
#include "shared/math3d.h"
#include "shared/glFrame.h"

//    Our Includes   //
#include "structs.h"
#include "image.h"
#include "terrain.h"
#include "round.h"
#include "paladin.h"
#include "camera.h"

using namespace std;

enum RGB { r, g, b};
enum XYZ { x, y, z };

#endif

#ifndef COLORS
#define COLORS

const float White[]     = {1.0f, 1.0f, 1.0f};
const float Black[]     = {0.0f, 0.0f, 0.0f};

const float LightGray[] = {0.75f, 0.75f, 0.75f};
const float Gray[]      = {0.5f, 0.5f, 0.5f};
const float DarkGray[]  = {0.25f, 0.25f, 0.25f};

const float Red[]       = {1.0f, 0.0f, 0.0f};
const float Green[]     = {0.0f, 1.0f, 0.0f};
const float Blue[]      = {0.0f, 0.0f, 1.0f};

const float Pink[]      = {1.0f, 0.0f, 1.0f};
const float Yellow[]    = {1.0f, 1.0f, 0.0f};

const float OliveDrab[] = {0.675f, 0.749f, 0.643f};

#endif
